Computer touch screen adapted to facilitate selection of features at edge of screen

ABSTRACT

In one embodiment of the invention, a hot spot is normally centered in an area of contact between a user&#39;s finger and a touch screen to position the hot spot on an icon or other feature thereby selecting a program or function corresponding to the icon or feature. When the contact area is near an edge, the hot spot is offset toward the edge so that it coincides more closely to the center of the users finger, thus allowing an icon or other feature adjacent the edge of the screen to be more easily selected. In another embodiment, a cursor is displayed on a touch screen at a location that is offset from the contact area between a finger and the screen. The cursor, which is used as the hot spot of the computer, is normally offset above the contact area except when the contact area is close to the bottom of the screen. The cursor is then offset to the left or right of the contact area depending on whether the contact are is to the left or right of the screen, respectively, so that icons or features adjacent the left or right edges of the screen can be selected. Similarly, when the contact area is very close to the bottom of the screen, the cursor is offset downwardly and to the right or left so that icons or features adjacent the bottom edge of the screen can be selected. Alternatively, a touch sensitive area incapable of displaying an image may be provided beneath a display area of the touch screen to allow icons or features adjacent the bottom edge of the display area to be selected.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.09/316,077, filed May 20, 1999, now U.S. Pat. No. 6,411,283.

TECHNICAL FIELD

This invention relates to computer displays, and, more particularly to atouch screen computer display that allows relatively small featuresdisplayed on the screen, particularly at the edges of the screen, to beselected more easily.

BACKGROUND OF THE INVENTION

FIG. 1 shows a conventional computer 10 of the type that is adapted tobe held in the hand H of an operator during use. Such computers 10,known as “palmtop” computers, include a relatively large display screen12, and a few manually actuated keys, generally indicated as 14. Thedisplay screen 12 is preferably a touch screen that primarily controlsthe operation of the computer 10. More particularly, several icons 18are displayed on the screen 12, and programs or other functions areselected by touching the screen 12 on the icon 18 corresponding to theprogram or function to be selected.

The basic components of the computer 10 are shown in the system blockdiagram of FIG. 2. The computer 10 includes a processor 20 ofconventional design that is coupled through a processor bus 22 to asystem controller 24. The processor bus 22 generally includes a set ofbidirectional data bus lines coupling data to and from the processor 20,a set of unidirectional address bus lines coupling addresses from theprocessor 20, and a set of unidirectional control/status bus linescoupling control signals from the processor 20 and status signals to theprocessor 20. The system controller 24 performs two basic functions.First, it couples signals between the processor 20 and a system memory26 via a memory bus 28. The system memory 26 is normally a dynamicrandom access memory (“DRAM”), but it may also be a static random accessmemory (“SRAM”). Second, the system controller 24 couples signalsbetween the processor 20 and a peripheral bus 30. The peripheral bus 30is, in turn, coupled to a read only memory (“ROM”) 32, a touch screendriver 34, a touch screen input circuit 36, and a keypad controller 38.

The ROM 32 stores a software program (described below) for controllingthe operation of the computer 10, although the program may betransferred from the ROM 32 to the system memory 26 and executed by theprocessor 20 from the system memory 26. The touch screen driver 34receives information from the processor 20 and applies appropriatesignals to the display 12 through the touch screen driver 34. The touchscreen input circuit 36 provides signals indicating that an action hasbeen taken to select a program or function by touching the screen 12 ona corresponding icon 18 (FIG. 1). Finally, the keypad controller 38interrogates the keys 14 to provide signals to the microprocessor 20corresponding to a key 14 selected by an operator.

Returning, now, to FIG. 1, most palm computers, such as the computer 10,include a stylus (not shown) adapted to select the icons 18 displayed onthe screen 12. The stylus has a relatively small point thereby allowingicons 18 displayed on the screen 12 to be selected even though the icons18 may be relatively small and/or positioned close to either other icons18 or the edges of the screen. However, the use of a stylus can beinconvenient because it is necessary to obtain the stylus, such as byremoving it from a receptacle at the back of the computer 10, before anyfunction can be selected.

To avoid the inconvenience of using a stylus, many operators use theirfingers to select icons 18 on the screen 12 of the computer 10. Whilebeing more convenient, the use of a finger to select icons 18 createsother problems. Any finger is several orders of magnitude larger thanthe point of a stylus. It can therefore be difficult to select fineand/or closely spaced icons or features on the screen 12 using a finger.The location on the screen 12 that is selected by a finger is generallya point at the center of the area of the finger that is in contact withthe screen. This point is sometimes known as the “hot spot”. Withreference to FIG. 3, a finger F is shown touching the screen 12. Thearea A of contact between the finger F and screen 12 is somewhat smallerthan the size of the finger F. The computer 10 then calculates a hotspot H at the center of the area of contact A. The hot spot H is smallenough to be capable of accurately selecting even the finest and mostclosely spaced of icons 18 or other features displayed on the screen 12.However, this capability is not realized in practice because the hotspot is not displayed on the screen 12 as a cursor or other indicator.Further, even if a cursor was displayed on the screen 12 to designatethe hot spot, the cursor would be beneath the finger F and thus notvisible to the operator. Thus, in practice, it is often not possible toselect fine and/or closely spaced icons 18 or features on the screen 12using a finger F.

One approach that has been used to allow icons to be easily selected ontouch screens is to display substantially larger icons 18 and featuresso that there is no ambiguity about which icon 18 or feature is beingselected. While this approach does make it easier to select icons andfeatures, it has the disadvantages of requiring that the operation ofthe computer 10 be altered and reducing the number of icons 18 andfeatures that can be displayed on the screen 12 at the same time.

Another limitation of using a finger to select icons 18 and features oncomputer touch screens 12 is the difficulty of selecting icons orfeatures that are near the edges of the screen 12. With reference toFIG. 4, a finger F′ is attempting to select an icon 18′ that is adjacentto one edge 40 of the screen 12. The finger F′ is centered over the icon18′, but is overlapping the edge 40 of the screen 12. As a result, thearea of contact A′ between the finger F′ and the screen 12 is offset tothe left of the center of the finger F′ and so is the hot spot H′.Therefore, even though the user has centered his or her finger F′ overthe icon 18′, the hot spot H′ is offset from the icon 18′. For thisreason, a program or function corresponding to the icon 18′ will not beselected. This problem may continue even if the finger F′ is movedfurther to the right of its position shown in FIG. 4 because the hotspot H′ will always be located midway between the left edge of the areaA′ of contact between the finger F′ and the screen 12 and the edge 40 ofthe screen 12. As a result, it may not be possible to position the hotspot H′ at or very close to the edge 40 of the screen 12. While theproblem is shown in FIG. 4 in the context of selecting an icon 18′adjacent the right edge 40 of the screen 12, it will be understood thatthe same problem occurs when selecting an icon that is positionedadjacent the left edge, the top edge, the bottom edge, or a corner ofthe screen 12.

While the foregoing discussion has centered around the problem ofselecting icons and features on a touch screen displays for palmtopcomputers like the computer 10 shown in FIG. 1, the problem may alsoexist to some extent with selecting icons and features on full sizetouch screen computer displays.

There is therefore a need for a computer touch screen that allows afinger to accurately select icons and other features even where theicons or features are small and closely spaced, and even where they areat or very close to the edges of the screen.

SUMMARY OF THE INVENTION

A touch screen facilitating the use of touch screen alters the operationof the touch screen when an area of contact is within a predetermineddistance of an edge of the touch screen. The position of the contactarea on the touch screen is first determined. If the contact area is ata first location on the touch screen, such as within a predetermineddistance of an edge of the screen, a user input is registered at a firstposition relative to the contact area. Otherwise, user input isregistered at a second position relative to the contact area. The firstposition is preferably offset from the second position toward an edgeadjacent the contact area. The registered user input may be, forexample, a hot spot positioned within the contact area or a cursordisplayed at a location offset from the contact area. The operation ofthe touch screen is preferably altered adjacent the bottom edge of thescreen. The user input may be registered at a location offset to eitherside of the contact area. Alternatively, the touch sensitive portion ofthe screen may be extended beneath a display area of the screen so thata user input may be registered adjacent the bottom edge of the displayarea by a contact area positioned below the lower edge of the displayarea.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an isometric view of a conventional palmtop computer beingheld by a user of the type that can be operated in accordance with theembodiments of the invention.

FIG. 2 is a system block diagram of the palmtop computer of FIG. 1.

FIG. 3 is a schematic drawing illustrating the manner in which aposition of a hot spot is conventionally determined in the palmtopcomputer of FIG. 1.

FIG. 4 is a schematic drawing illustrating the manner in which aposition of a hot spot is conventionally determined in the palmtopcomputer of FIG. 1 when attempting to select and icon or other featurethat is positioned near the edge of a screen of the computer.

FIGS. 5A-5F are schematic drawings illustrating the operation of animproved palmtop computer in accordance with one embodiment of theinvention.

FIG. 6 is a flow chart of a software program for controlling theoperation of the palmtop computer of FIG. 1 in accordance with theembodiment of the invention shown in FIGS. 5A-5F.

FIG. 7 is a schematic drawing illustrating the operation of the palmtopcomputer of FIG. 1 in accordance with another embodiment of theinvention.

FIGS. 8A-8E are schematic drawings illustrating the operation of thepalmtop computer of FIG. 1 in accordance with the embodiment of FIG. 7.

FIG. 9 are flow charts of a software program for controlling theoperation of the palmtop computer of FIG. 1 in accordance with theembodiment of the invention shown in FIGS. 8A-8E.

FIG. 10 is a schematic drawing illustrating the operation of an improvedpalmtop computer to register a user input adjacent a bottom edge of thecomputer's display screen in accordance with one embodiment of theinvention.

DETAILED DESCRIPTION OF THE INVENTION

The operation of one embodiment of an improved computer touch screenaccording to the invention is illustrated in FIGS. 5A-5F. As shown inFIG. 5A, a touch screen 50 has a left edge 52, a top edge 54, a rightedge 56, and a bottom edge 58. A finger F_(A) is in contact with thescreen 50 over an area A_(A). As in the conventional display 12 shown inFIG. 4, the computer 10 calculates a hot spot H (FIG. 3), H_(A) (FIG.5A) at the center of the area of contact A (FIG. 3), A_(A) (FIG. 5A).Icons and features positioned at the hot spot H_(A) are selected in thesame manner as with the conventional computer touch screen 12 explainedabove.

The embodiment shown in FIGS. 5A-5F differs from the prior art touchscreen 12 in the manner in which the hot spot H is determined when thearea of contact A is adjacent an edge of the screen 50. With referenceto FIG. 5B, a finger F_(B) is shown attempting to select an icon 60 _(B)by placing the finger F_(B) adjacent the right edge 56 of the screen 50in contact with the screen 50 over an area A_(B). Using the conventionalapproach, the computer would calculate the position of a hot spot H_(B)at the center of the area of contact A_(B), which would fail to selectthe icon 60 _(B). In accordance with one embodiment of the invention,the computer calculates a hot spot H_(B) that is offset toward the edge56 of the screen whenever the area of contact A_(B) is near the edge 56.As a result, the hot spot H_(B) is substantially centered beneath thefinger F_(B) rather than centered in the area of contact A_(B). Thefinger F_(B) is thus able to select the icon 60 _(B) even though theicon 60 _(B) is positioned along an edge of the screen 50.

In a similar manner, and as shown in FIGS. 5C, 5D, and 5E, the computercalculates hot spots H_(C), H_(D), and H_(E) that are offset toward therespective edges 52, 54, and 58 of the screen 50 whenever the respectiveareas of contact A_(C), A_(D), and A_(E) are near the edges 52, 54, and58. As a result, respective icons 60 _(C), 60 _(D), and 60 _(E) can beselected by centering the finger F_(C), F_(D), and F_(E) over therespective icons 60 _(C), 60 _(D), and 60 _(E) even though therespective areas of contact A_(C), A_(D), and A_(E) are not centeredover the icons 60 _(C), 60 _(D), and 60 _(E)

When the icon to be selected is positioned at one corner of the screen50, the computer treats the finger F as being sufficient close to twoadjacent edges of the screen 50, and alters the calculation of the hotspot H. The calculation is similar to the calculation described above,but includes adjustments toward two edges. As shown in FIG. 5F, a fingerF_(F) is attempting to select an icon 60 _(F) at the upper left cornerof the screen 50 at the intersection of the edges 52 and 54. The area ofcontact A_(F) between the finger F_(F) and the screen 50 is alsopositioned in the corner, but its center does not overlie the icon 60_(F). As a result, the finger F_(F) would fail to select the icon 60_(F) using the conventional approach of calculating the location of thehot spot at the center of the area of contact A_(F). The conventionalhot spot is designated H_(F)′ in FIG. 5F. Instead, in accordance withone embodiment of the invention, the hot spot H_(F) is offset from thecenter of the area A_(F) toward the edge 54 because the area A_(F) isclose to the edge 54, and it is also offset from the center of the areaA_(F) toward the edge 52 because the area A_(F) is close to the edge 52.

The finger F_(F) is thus able to select the icon 60 _(F) by centeringthe finger F_(F) over icon 60 _(F) even though the area of contact A_(F)is not centered over the icon 60 _(F) and even though the icon 60 _(F)is located in the corner of the display 50.

A software program that may be executed by the microprocessor 20 (FIG.2) to determine the location of the hot spot H in accordance with theembodiment of FIGS. 5A-5F is shown in FIG. 6. The program is preferablystored in the ROM 32 and transferred to the system memory 26 at power onso that it can be executed out of the system memory 26. The ROM 32 alsocontains a large amount of other operating system and applicationssoftware that will not be explained herein because it is somewhatperipheral to the embodiment of FIGS. 5A-5F.

As shown in FIG. 6, the program is entered at step 60 in which theexistence of a touch pad input is detected. The computer then senses thelocation and area of the touch pad input at 62. In embodiments of theinvention, a stylus as well as an operator's finger may be used toprovide touchpad input. By reading the amount of area of the touch padinput and comparing that area to known amount of area, it may bedetermined whether a stylus or an operator's finger is being used toinput data. If an operator's finger is being used, offset processing asillustrated in FIGS. 5B-5F may be accomplished. If a stylus is beingused, offset processing is not needed. Processing may nonetheless beaccomplished in at least two ways. First, the offsets of the routine maybe made proportional to the area of the touch pad input. Because astylus has a very small area, a proportionally small offset wouldresult. A small offset would enable use of a stylus without potentiallydistracting jumps near screen edges. Second, the offset routines mightsimply be bypassed if the area of touch pad input is less then a givenarea. Continuing with FIG. 6, the position of the hot spot H iscalculated at the center of the area of contact at 64 in a conventionalmanner as described above with reference to FIGS. 3 and 4.

After the customary position of the hot spot is calculated in step 64, adetermination is made at 70 whether the area of contact, oralternatively, the calculated position of the hot spot, is near theright edge 56 of the screen 50 as shown in FIG. 5B. The particularlocation constituting “near the right edge”, or “near” any of the otheredges, can be determined empirically, and it might even be user selectedso that it could be varied depending on such factors a finger size anduser preference. If the hot spot H is determined at 70 to be near theright edge 56, the computer offsets the hot spot H to the right of thecenter of the area of contact A between the finger F and the screen 50at 72. Offsetting the hot spot H to the right offsets it toward theright edge 56, as explained above with reference to FIG. 5B. The programthen proceeds to decision 76, which will be described below.

If a determination is made at 70 that the hot spot H is not near theright edge 56, a determination is made at 78 whether the area ofcontact, or alternatively, the calculated position of the hot spot, isnear the left edge 52 of the screen 50 as shown in FIG. 5C. If the hotspot H is determined at 78 to be near the left edge 52, the computeroffsets the hot spot H to the left of the center of the area of contactA between the finger F and the screen 50 at 80. Offsetting the hot spotH to the left offsets it toward the left edge 52, as explained abovewith reference to FIG. 5C. After offsetting the hot spot at 80, theprogram proceeds to decision 76, as it does if a determination is madeat 78 that the hot spot H is not near the left edge 52.

The forgoing portion of the program of FIG. 6 deals with the area ofcontact A being near the left edge 52 or the right edge 56. Theremainder of the program of FIG. 6 deals with the situation in which thearea of contact A is alternatively or additionally near the top edge 54,the bottom edge 58, or a corner as shown in FIGS. 5D, 5E, and 5F. Atdecision 76, a determination is made whether the area of contact, oralternatively, the calculated position of the hot spot, is near the topedge 54 of the screen 50 as shown in FIG. 5D. If the hot spot H isdetermined at 76 to be near the top edge 54, the computer offsets thehot spot H at 84 above of the center of the area of contact A betweenthe finger F and the screen 50, i.e., toward the top edge 54. If the hotspot H is determined at 76 to be not near the top edge 54, the programdetermines at 88 if the area of contact, or alternatively, thecalculated position of the hot spot, is near the bottom edge 58 of thescreen 50, as shown in FIG. 5E. If the hot spot H is determined at 88 tobe near the bottom edge 58, the computer offsets the hot spot H in step90 below the center of the area of contact A between the finger F andthe screen 50, i.e., toward the bottom edge 58. After offsetting the hotspot at 84, the program proceeds to 96, as it does if a determination ismade at 88 that the hot spot H is not near the bottom edge 58.

As mentioned above, if the determination is made at 70 or 78 and at 76or 88 that the position of the hot spot initially calculated at 64 issufficiently near an edge, the initially calculated hot spot must thenbe in a corner of the display 50 as shown in FIG. 5F. Thus, as explainedabove with reference to FIG. 5F, the initially calculated hot spot isoffset both horizontally and vertically.

After the location of the hot spot is determined as explained above, thecurrent position of the hot spot H is registered at 96. The computerthen selects a program or other function in the same manner that itwould have if it had used the position of the hot spot initiallycalculated at 60.

The operation of another embodiment of an improved computer touch screenaccording to the invention is illustrated in FIG. 7. As shown in FIG. 7,a finger F is placed on a touch screen 100 so that it contacts thescreen 100 over an area A. In one embodiment a computer, similar to thepalmtop computer of FIG. 1, generates a cursor 102 directly above thearea A at an offset distance R from its center C. The magnitude of theoffset distance R is selected so that the cursor is positioned above thefinger F and is thus visible to the user. Although the cursor 102 isshown as a cross, it will be understood that other varieties of cursorsmay be used, such as a pointer or a pointing hand.

In operation, a program or other function (not shown in FIG. 3) isselected by placing the cursor 102 above an icon or other featurecorresponding to the program or function. The user then takes someaction to validate the selection, such as by tapping the screen 100 orpressing a key 14.

In other embodiments, also illustrated in FIG. 7, cursors 110, 114, and116 are positioned at other locations about the area of contact A and ata sufficient distance that they are not covered by the finger F.

The embodiment illustrated in FIG. 7 would initially appear to solvemany of the problems incurred in using prior art computer touch screensas explained above with reference to FIG. 4. However, on furtherreflection it apparently suffers from some of the same problems as theprior art touch screens. More specifically, the cursor 102 shown in FIG.7 would appear to be incapable of selecting an icon or other featurepositioned near the side or bottom edges of the touch screen 100 becausethe Finger F would then have to be off the screen 100. Similar problemswould appear to exist in using any of the other cursors 110, 112, 114,and 116 shown in FIG. 7. For example, using the cursor 110 would appearto make it impossible to select an icon or other feature that isadjacent the top or right edges of the screen 100. To solve thisapparent problem, the position of the cursor is altered when the area ofcontact A is near the edges of the screen, as explained below withreference to FIGS. 8A-8E.

With reference to FIG. 8A, the cursor 102 is normally positioned abovean area of contact A_(A) of a finger F_(A) as shown in FIG. 7 and 8A.However, it will be understood that the cursor may alternatively bepositioned at other locations relative to the area A of contact, such asthe positions of the cursors 110, 112, 114, and 116 shown in FIG. 7.

With reference to FIGS. 8B and 8C, when the area of contact A_(B) andA_(C), respectively, approaches within a first distance of either theleft edge of the touch screen 102 or the right edge of the touch screen,the cursor 102 _(B) or 102 _(C) is offset to the left or right side ofthe Finger F_(B) or F_(C), respectively. If the center of the area ofcontact between the finger and the screen 100 is to the left of thecenter of the screen 100, as shown in FIG. 8B, the cursor 102 _(B) movesto the left of the area of contact A_(B). In this position, the cursor102 _(B) can select icons and other features that are positionedadjacent a left edge 122 of the screen 102. If the center of the area ofcontact between the finger and the screen 100 is to the right of thecenter of the screen 100, as shown in FIG. 8C, the cursor 102 _(C) movesto the right of the area of contact A_(C). In this position, the cursor102 _(C) can select icons and other features that are positionedadjacent a right edge 124 of the screen 102. However, when the cursors102 _(B) and 102 _(C) are positioned as explained above, they cannotselect an icon or other feature on the screen 100 that is on or near thecenter of the screen 100 within the first distance of the bottom edge120. This limitation is the result of the cursor jumping to the rightside of the finger F as soon as the area of contact A_(B) crosses thecenter of the screen 100 from left to right, and the cursor jumping tothe left side of the finger F as soon as the area of contact A_(C)crosses the center of the screen 100 from right to left. This problem issolved by providing the movement of the cursor 100 with hysteresis sothat the cursor 102 _(B) does not move to the right side of the fingerF_(B) until the cursor 102 _(B), rather than the area of contact A_(B),has crossed from the left side to the right side of the screen 100.Similarly, the cursor 102 _(C) does not move to the left side of thefinger F_(C) until the cursor 102 _(C), rather than the area of contactA_(C), has crossed from the right side to the left side of the screen100.

With reference to FIGS. 8D and 8E, when the area of contact A_(D) andA_(E), respectively, approaches within a first distance of the bottomedge 120 of the touch screen 100, the cursor 102 _(D) or 102 _(E) is notonly offset to one side of the Finger, as explained above, but it isalso offset downwardly. Thus, when the area of contact A_(D) is on theleft side of the screen as shown in FIG. 8D, the cursor 102 _(D) isoffset downwardly to the left of the area of contact A_(D.) In thisposition, the cursor 102 _(D) can select icons and other features thatare positioned adjacent the left half of the bottom edge 120 of thescreen 100. If the center of the area of contact between the finger andthe screen 100 is to the right of the center of the screen 100, as shownin FIG. 8E, the cursor 102 _(E) is offset downwardly to the right of thearea of contact A_(E). In this position, the cursor 102 _(E) can selecticons and other features that are positioned adjacent the right half ofthe bottom edge 120 of the screen 102. As explained above, in the eventthe area of contact A_(D) is moved from the left side to the right sideof the screen 100, hysteresis is provided so that the cursor 102 _(D)does not move to the right side of the finger F until the cursor 102_(D) has crossed over to the right side of the screen 100. Similarly, inthe event the area of contact A_(E) is moved from the right side to theleft side of the screen 100, the cursor 102 _(E) does not move to theleft side of the finger F until the cursor 102 _(E) has crossed over tothe left side of the screen 100.

A software program that may be executed by a microprocessor to controlthe position of the cursor 102 as shown in FIGS. 8A-8E is shown in FIG.9. As with the program of FIG. 6, the program of FIG. 9 is preferablystored in the ROM 32, as shown in FIG. 2, and transferred to the systemmemory 26 at power on so that it can be executed out of the systemmemory 26.

The program of FIG. 9 is entered at step 140 in which the existence of atouch pad input is detected. The computer then senses the locations andarea of the touch pad contact at 142. The center of the area of contactis then determined at 144 and is considered the “input” selected by theuser. A determination is then made at 146 whether the input is neareither the left edge 122, the right edge 124, or the bottom edge 120 ofthe screen 100, i.e., within the distance from the edges shown in FIGS.8B-8E. As in the embodiment of FIGS. 5 and 6, the particular distanceconstituting “near the edge” can be determined empirically, and it mayeven be user selected. If a determination is made at 146 that the inputis not near the right, left, or bottom edges, the cursor is positionedabove the input at 148, as shown in FIG. 8A. In such case, most of theremaining portion of the flow chart of FIG. 9 is skipped because it isnot necessary to alter the position of the cursor, as explained abovewith reference to FIGS. 8A-8E.

If a determination is made at 146 that the input is near the left edge122, the right edge 124, or the bottom edge 120, a decision is made at160 whether the input is to the left of the center of the screen 100.The determination is necessary because, as mentioned above withreference to FIGS. 8B and 8C, the cursor is generally positioned to theleft of the input if the input is close to an edge other than the topedge and on the left side of the screen, and the cursor is generallypositioned to the right of the input if the input is close to an edgeother than the top edge and on the right side of the screen.Accordingly, if a determination is made at 160 that the input is to theleft of the center of the screen 100, the cursor is positioned to theleft of the input at 162. Otherwise, the cursor is positioned to theright of the input at 164.

Regardless of whether the cursor is positioned to the right or left ofthe input, a determination must be made whether the input is moving fromone side to the other so that hysteresis can be provided, as explainedabove. Assuming that it was determined at 160 that the input is to theleft of center, a determination is made at 170 whether the input ismoving from left to right. This determination can be made by examiningthe position previously determined at 144 and comparing to the presentposition determination at 144. If the input is not moving to the right,the cursor remains to the left of the input as shown in FIG. 8B. If itis determined at 170 that the input is moving to the right, adetermination is made at 172 whether the cursor is to the right of thecenter of the screen 100. If not, the cursor remains to the left of theinput. However, when the cursor has moved to the right a predetermineddistance beyond the center of the screen 100, the cursor is repositionedat 174 to the right of the input. Repositioning of the cursor occurs thepredetermined distance beyond the center, rather than at the center, sothat objects located at the center of the screen can be selected.

In a similar manner, if it was determined at 160 that the input is notto the left of center of the screen 100, after the cursor is positionedto the right of the input at 164, a determination is made at 180 whetherthe input is moving from right to left. If the input is not moving tothe left, the cursor remains to the right of the input as shown in FIG.8C. If it is determined at 180 that the input is moving to the left, adetermination is made at 182 whether the cursor is to the left of thecenter of the screen 100. If not, the cursor remains to the right of theinput. However, when the cursor has moved to the left beyond the centerof the screen, the cursor is repositioned at 184 to the left of theinput.

Regardless of whether the cursor has been positioned to the right ofleft of the input, a determination is made at 190 whether the input isnear the bottom edge 120, i.e., within the distance to the edge shown inFIGS. 8D and 8E. If it is determined at 190 that the input is near thebottom edge, the cursor must be offset downwardly so that icons andother features adjacent the bottom edge can be selected, as explainedabove with reference to FIGS. 8D and 8E. Accordingly the previouslydetermined position of the cursor, i.e., to the right or left of theinput, is offset downwardly at 192. If it is determined at 190 that theinput is not near the bottom edge, the cursor remains in its position bybypassing the offset 192.

At this point, the position of the cursor has been finally set. Thecurrent position of the cursor is then displayed and registered as theuser input, i.e., the hot spot, at 196 before returning to 140 to awaitanother touch screen input. The hot spot registered at 196 is used by acomputer similar to the computer 10 shown in FIG. 1 in the same mannerthat user inputs conventionally entered are used to select a program orfunction.

Still another embodiment of a computer touch screen 210 is illustratedin FIG. 10. The touch screen 210 includes a touch sensitive display area212 on which images, such as icons 214, may be displayed, and a touchsensitive area 216 on which images may not be displayed. The embodimentof FIG. 10 operates in the same manner as the embodiment of FIGS. 7-9over the entire area of the display area 212 except near a bottom edge220 of the display area 212. Unlike the embodiment of FIGS. 7-9, imagespositioned on the screen 210 near the bottom edge 220 of the displayarea 212 are selected in the same manner as images at other locations ofthe screen. More specifically, a hot spot 230 is offset upwardly from acontact area A_(A) of a finger F_(A) with the touch sensitive area 216of the screen 210 in the same manner that the hot spot is offset whenthe contact area A_(A) is on the display area 212. Therefore, an icon234 adjacent the bottom edge 220 of the display area 212 may be selectedas shown in FIG. 10 by positioning the contact area A_(A) so that thehot spot 230 overlies the icon 234.

The software program controlling the operation of the touch screen 210is essentially the same as the software program explained above withreference to FIG. 9, with appropriate modifications that are relativelyminor and will be apparent to one skilled in the art.

From the foregoing it will be appreciated that, although specificembodiments of the invention have been described herein for purposes ofillustration, various modifications may be made without deviating fromthe spirit and scope of the invention. For example, although theembodiments of the invention have been described as having hot spots ora cursor that jumps from one discrete location to another, it will beunderstood that the hot spots or cursor may smoothly transition betweenvarious location relative to the area of contact depending upon thelocations of the area of contact on the touch screen. Accordingly, theinvention is not limited except as by the appended claims.

1. A computer, comprising: a processor; a memory device coupled to theprocessor, the memory device storing software instructions for executionby the processor; a touch screen constructed to display informationcorresponding to input data signals and to provide data signalscorresponding to a user input; a touch screen driver coupled to theprocessor and to the touch screen, the touch screen driver beingconstructed to determine a position of a contact area on the touchscreen, and, if the contact area is at a first location on the touchscreen, registering the user input at a first position that is offsetrelative to the contact area, and, if the contact area is at a secondlocation on the touch screen that is different from the first location,registering the user input at a second position that is not offsetrelative to the contact area.
 2. The computer of claim 1 wherein thefirst location is within a predetermined distance of an edge of thetouch screen.
 3. The computer of claim 2 wherein the touch screen driveris constructed to register the user input at the first position relativeto the contact area by selecting a position for the first position thatis closer to the edge than the second position.
 4. The computer of claim1 wherein the touch screen has a top edge, a bottom edge, a left edge,and a right edge, and wherein the first location is within apredetermined distance of either the top edge, the bottom edge, the leftedge, or the right edge of the touch screen.
 5. The computer of claim 4wherein the touch screen driver is constructed to register the userinput at the first position relative to the contact area by selecting aposition for the first position that is closer than the second positionto the edge to which the contact area is located within thepredetermined distance.
 6. The computer of claim 1 wherein the firstlocation is within a predetermined distance of any edge of the touchscreen, the second location comprises all locations on the touch screennot constituting the first location, the first and second positions arewithin the contact area, and the first position is offset from thesecond position toward the edge that the contact area is located withinthe predetermined distance.
 7. The computer of claim 1 wherein the firstlocation is within a predetermined distance of an edge of the touchscreen, the first position is offset from the contact area in a firstdirection, and the second position is offset from the contact areatoward the edge that the contact area is located within thepredetermined distance.
 8. The computer of claim 7 wherein the firstdirection is above the contact area.
 9. The computer of claim 1 whereinthe touch screen driver is constructed to cause the display to display acursor at the first position if the contact area is at the firstlocation on the touch screen, and to display a cursor at the secondposition if the contact area is at the second location on the touchscreen.
 10. The computer of claim 1 wherein the touch screen comprises:a touch sensitive display area constructed to display informationcorresponding to the input data signals and to provide data signalscorresponding to the user input; and a touch sensitive area positionedadjacent the display area constructed to be unable to displayinformation and constructed to provide data signals corresponding to theuser input.
 11. The computer of claim 10 wherein the touch sensitivearea of the touch screen is positioned below the display area of thetouch screen.
 12. The computer of claim 1 wherein the touch screendriver is constructed to register the user input at a position relativeto the contact area that is to the left of the contact area if thecontact area is on the left side of the touch screen, and to registerthe user input at a position relative to the contact area that is to theright of the contact area if the contact area is on the right side ofthe touch screen.
 13. The computer of claim 1 wherein the touch screendriver is constructed to register the user input at a position relativeto the contact area that is downwardly to the left of the contact areaif the contact area is within a predetermined distance of a bottom edgeof the touch screen on the left side of the touch screen, and toregister the user input at a position relative to the contact area thatis to the right of the contact area if the contact area is within apredetermined distance of a bottom edge of the touch screen on the rightside of the touch screen.
 14. The computer of claim 1 wherein the touchscreen driver is constructed to register the user input at a positionrelative to the contact area that is above the contact area.
 15. Thecomputer of claim 1 wherein the touch screen driver is constructed toregister the user input at a position relative to the contact area thatis to the left of the contact area if the contact area is on the leftside of the touch screen and the contact area is not moving to the rightpast a location where the registered user input is on the right side ofthe touch screen, and to register the user input at a position relativeto the contact area that is to the right of the contact area if thecontact area is on the right side of the touch screen and the contactarea is not moving to the left past a location where the registered userinput is on the left side of the touch screen.